草庐IT

Java EE 计划任务

全部标签

python - 如果任务失败,如何将任务放回队列中?

我有一个看起来像这样的脚本:#!/usr/bin/envpython#encoding:utf-8importtime,random,os,multiprocessingdefmain():NPROCESSES=5pool=multiprocessing.Pool(processes=NPROCESSES)a=[1,2,3,4,5,6,7,8,9,0]for_inpool.imap_unordered(do_task,a):passdefdo_task(n):try:might_crash(n)exceptHell,e:printe,"crashed."defmight_crash(n

python - celery :任务层次结构后的回调

我正在使用网络应用程序中的Celery来启动任务层次结构。任务我正在使用以下任务:task_atask_btask_cnotify_userDjangoView启动多个task_a实例。他们每个人都做一些处理,然后启动几个task_b实例。每一个都做一些处理,然后启动几个task_c实例。可视化:目标我的目标是执行所有任务,并在整个层次结构完成后立即运行回调函数。此外,我希望能够将数据从最低任务传递到最高级别。View应该只是“启动”任务然后返回。每个子任务都依赖于父任务。父任务不直接依赖于子任务。父任务启动所有子任务后,就可以停止。一切都可以并行化,只要父任务在子任务启动之前运行即可

python - 模拟 celery 任务的单元测试 Flask View

所以,我有一个flaskView,它将celery任务添加到队列中,并向用户返回200。fromflask.viewsimportMethodViewfromapp.tasksimportlaunch_taskclassExampleView(MethodView):defpost(self):#Doessomeverificationoftheincomingrequest,ifallgood:launch_task(task,arguments)return'Accepted',200问题在于测试以下内容,我不想拥有celery实例等。我只想知道在所有验证都正常之后,它会向用户返回

python - celery 任务消失

我有一个使用cron脚本运行的django项目,执行管理命令。此命令为celery创建for循环任务:forrinpr:log_task(tasks_logger.info,"to_queue",r)remind.delay(r,now,send_all)任务看起来像这样:classRTask(Task):abstract=Truedefon_failure(self,exc,task_id,args,kwargs,einfo):r=args[0]log_task(logger.error,exc,r)log_task(logger_tb.error,einfo,r)@task(bas

python - celery :如何限制队列中的任务数量并在满时停止喂食?

我对Celery很陌生,这是我的问题:假设我有一个脚本,它应该不断地从数据库中获取新数据并将其发送给使用Celery的工作人员。任务.py#CeleryTaskfromceleryimportCeleryapp=Celery('tasks',broker='amqp://guest@localhost//')@app.taskdefprocess_data(x):#Dosomethingwithxpass获取数据库.py#FetchnewdatafromDBanddispatchtoworkers.fromtasksimportprocess_datawhileTrue:#RunDBq

python - Celery:查询未决任务的标准方法?

是否有任何标准/独立于后端的方法来根据某些字段查询待处理任务?例如,我有一个任务需要在“最后一次用户交互”之后运行一次,我想将其实现为:defuser_changed_content():task=find_task(name="handle_content_change")iftaskisNone:task=queue_task("handle_content_change")task.set_eta(datetime.now()+timedelta(minutes=5))task.save()还是直接挂接到存储后端更简单? 最佳答案

python - 通知 worker 关闭的 celery 任务

我将celery2.4.1与python2.6、rabbitmq后端和django一起使用。如果工作人员关闭,我希望我的任务能够正确清理。据我所知,您无法提供任务析构函数,因此我尝试连接到worker_shutdown信号。备注:AbortableTask仅适用于数据库后端,所以我不能使用它。fromcelery.signalsimportworker_shutdown@taskdefmytask(*args)obj=DoStuff()defshutdown_hook(*args):print"Workershuttingdown"#cleanupnicelyobj.stop()wor

python - Heroku 上的 Django Celery 任务导致内存使用率过高

我在Heroku上有一个celery任务,它连接到外部API并检索一些数据,存储在数据库中并重复数百次。很快(大约10次循环后)Heroku开始警告内存使用率过高。有什么想法吗?tasks.py@app.taskdefretrieve_details():forpinPObj.objects.filter(some_condition=True):p.fetch()模型.pydeffetch(self):v_data=self.service.getV(**dict(Number=self.v.number))response=self.map_response(v_data)fork

python - 类似 cron 的循环任务调度程序设计

假设您想安排重复性任务,例如:每周三上午10点发送电子邮件在每个月的第一天创建摘要并且您想在Web应用程序中为合理数量的用户执行此操作-即。10万个用户,每个用户可以决定他们想要什么时间安排。并且您希望确保计划的项目运行,即使它们最初被错过-例如。由于某种原因,电子邮件没有在星期三上午10点发送,它应该在下一个检查时间间隔发送,比如星期三上午11点。你会如何设计?如果您使用cron每x分钟触发您的日程安排应用程序,那么实现决定在每个时间点应该运行什么的部分的好方法是什么?我见过的类似cron的实现将当前时间与所有指定项目的触发时间进行比较,但我也想处理遗漏的项目。我觉得有比我正在设计的

python - 16 个任务的序列化结果总大小 (1048.5 MB) 大于 spark.driver.maxResultSize (1024.0 MB)

当我将--confspark.driver.maxResultSize=2050添加到我的spark-submit命令时,出现以下错误。17/12/2718:33:19ERRORTransportResponseHandler:Stillhave1requestsoutstandingwhenconnectionfrom/XXX.XX.XXX.XX:36245isclosed17/12/2718:33:19WARNExecutor:Issuecommunicatingwithdriverinheartbeaterorg.apache.spark.SparkException:Excep